实际上这个问题并不是那么回事,git的ssh认证是依赖ssh工具的,所以实际上是配置ssh命令对目标git站点使用特定的ssh key

方法就是在~/.ssh/config中写入如下内容:

Host gitea.example.com
    HostName gitea.example.com
    User git
    IdentityFile ~/.ssh/my_custom_key

这个不仅对git生效,直接ssh到这个主机也是生效的。

此外,如果没有该config文件,ssh客户端会尝试一些默认的密钥文件,包括:

  1. ~/.ssh/id_rsa
  2. ~/.ssh/id_dsa
  3. ~/.ssh/id_ecdsa
  4. ~/.ssh/id_ed25519

所以如果你生成的密钥保持了默认命名如上,就不需要额外配置config文件。